package com.itany.corejava.code07_面向对象;

import java.util.Scanner;

/**
 * @author MissChen
 * @version 1.0
 * @date 2023 年11月01日 9:22
 */
public class Test07_练习 {
    public static void main(String[] args) {
        Account2 ac=new Account2();
        ac.name="刘亦菲";
        ac.money=10000;
        ac.showMenu();
    }
}

/*
定义账户类Account
    添加两个成员属性：姓名和余额
    添加几个成员方法：
        1.查询余额，打印出户主名称和账户余额，在控制台输出
        2.存钱，打印存储了多少钱，存储后账户余额，在控制台输出(一个参数)
        3.转账，打印谁给你转账，转了多少钱，转账后账户余额是多少，在控制台输出(两个参数)
        4.取钱，打印取了多少钱，剩余的账户余额是多少，在控制台输出(一个参数)
        分别调用上面几个方法
*/
class Account2{
    //全局变量
    String name;//姓名
    double money;//余额

    //查询余额，打印出户主名称和账户余额
    public void queryMoney(){
        System.out.println("姓名:"+name+",当前余额:"+money);
    }

    // 存钱，打印存储了多少钱，存储后账户余额
    public void saveMoney(double money){
        this.money+=money;
        System.out.println("您存储了"+money+"元，当前余额是:"+this.money);
    }

    // 转账，打印谁给你转账，转了多少钱，转账后账户余额是多少
    public void transfer(String name,double money){
        this.money+=money;
        System.out.println(name+"向你转账"+money+"元，当前账户余额为:"+this.money);
    }

    // 取钱，打印取了多少钱，剩余的账户余额是多少
    public void getMoney(double money){
        this.money-=money;
        System.out.println("您取了"+money+"元，当前余额为:"+this.money);
    }

    public void showMenu(){
        Scanner sc=new Scanner(System.in);
        System.out.println("欢迎使用账户管理系统，系统提供以下功能:1.查询余额 2.存钱 3.转账 4.取钱 5.退出");
        while(true){
            System.out.print("请选择对应的系统功能来完成您的业务(1-5):");
            int choice=sc.nextInt();

            switch (choice){
                case 1:
                    queryMoney();
                    break;
                case 2:
                    System.out.print("请输入存储的金额:");
                    double money=sc.nextDouble();
                    saveMoney(money);
                    break;
                case 3:
                    System.out.print("请输入谁向你转账:");
                    String name=sc.next();
                    System.out.print("请输入转账的金额:");
                    money=sc.nextDouble();
                    transfer(name,money);
                    break;
                case 4:
                    System.out.print("请输入取款金额:");
                    money=sc.nextDouble();
                    getMoney(money);
                    break;
                case 5:
                    System.out.println("您已经退出了，welcome next time");
                   return;//结束当前方法的执行
                default:
                    System.out.println("您选择的菜单有误，请重新选择");
            }
        }
    }
}
